EJECUCIÓN
(Comienzo y Fin)

“La actividad es la esencia de la sustancia en general” (Leibniz)

“La realidad es una totalidad de significado activo” (David Bohm)

“La realidad es un proceso construido por acontecimientos, no por sustancias” (Alfred North Whitehead)



Semántica

La ejecución de una expresión es un tipo de evaluación orientado a la obtención de un resultado. Si la expresión a ejecutar es constructiva, la ejecución de una expresión x es igual a la evaluación normal (que no tiene operador explícito), pero combinada con la operación contraria (“fin de la ejecución”), se tienen dos posibilidades adicionales:
  1. El proceso de evaluación de x puede interrumpirse (por ejemplo, cuando se produzca una cierta condición).

  2. Se asigna una expresión como resultado del proceso de evaluación de x. Si no se especifica, supone la evaluación de la expresión x.
Si la expresión a ejecutar es descriptiva, se fuerza su evaluación, si ello es posible, es decir, si el resultado es finito. Si no es finito, se mantiene la expresión descriptiva.


Sintaxis
Justificación

La ejecución se aplica a algoritmos y a procesos en general, tendentes a la obtención de un resultado.


Ejemplos con expresiones constructivas
  1. Obtiene el número mayor de los componentes de una secuencianumérica s.

    ⟨( mayor(s) = ( (r = s\1)
    [ i=[1…s#]
    ((s\i > r) → (r = s\i)) ]
    ¡r )! )⟩

    mayor(−1 7 12 5) // ev. 12
    mayor(123) // ev. 3 (secuencia de 3 componentes)
    mayor( 123 ) // ev. 123 (secuencia de un componente)
    mayor(2.5 7.2 6.1) // ev. 7.2


  2. Suma de los números naturales hasta que sea lo más próxima (igual o inferior) a un cierto número n.

    ⟨( suma(n) = ( k=0
    [ m=[1…]
    (k = k+m)
    ( k>n → ¡(k−m)) ] ) )⟩

    (suma(25))! // ev. 21 (1+2+3+4+5+6)


    En este caso, el símbolo de comienzo de ejecución se sitúa en la llamada.

  3. (a=3 b=4 ¡(a+b))! // ev. 12

  4. ⟨( f(x y) = (¡(x+y) ←' x>y → ¡(x+y)) )! )⟩

    f(3 4) // ev. 7
    f(4 3) // ev. 12


    En este caso, no serían necesarios los símbolos relativos a ejecución, puesto que solo hay una condición. Por lo tanto, esta función es equivalente a

    ⟨( f(x y) = ((x+y) ←' x>y → (x+y)) ) )⟩

  5. ⟨( (minimo(n1 n2) = ((m=n1n1n2) →' m=n2) ¡m))! )⟩

    Esta función es equivalente a:

    ⟨( (minimo(n1 n2) = (n1n1n2) →’ n2) )⟩

Ejemplos con expresiones descriptivas
  1. ( 1…4 )! // ev. ( 1 2 3 4)

  2. (a=3 b=4)
    (x =: a+b)
    x // rep. a+b
    x! // ev. 7


  3. ( 1… )! // se autoevalúa porque la expresión es infinita: (1 2 3 4 ...)

  4. (ab★4)! // ev. ( ab ab ab ab )

  5. (ab★)! // se autoevalúa porque la expresión es infinita: (ab ab ab ...)

  6. ([a [u v] b])! // ev. (a u b a v b)

Observaciones

Axiomas
  1. ⟨( (x¡)! = x )⟩

  2. ⟨( (x°)! = x )⟩

  3. ⟨( (x¡ ← z →' ¡y)! = (xz →' y) )⟩

  4. (¡! = θ )

  5. ⟨( (x° = x) → (x! = x) )⟩
    Si x se autoevalúa, entonces la expresión x! es igual a x